package com.aerilys.taskboard.client.tools;

import com.aerilys.taskboard.client.views.AddTaskView;
import com.aerilys.taskboard.client.views.DetailsView;
import com.aerilys.taskboard.client.views.GeneralView;
import com.aerilys.taskboard.client.views.implementation.AddTaskViewImpl;
import com.aerilys.taskboard.client.views.implementation.DetailsViewImpl;
import com.aerilys.taskboard.client.views.implementation.GeneralViewImpl;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.place.shared.PlaceController;
import com.google.gwt.user.client.Window;

public class ClientFactoryImpl implements ClientFactory
{

  private final EventBus eventBus = new SimpleEventBus();
  private final PlaceController placeController = new PlaceController(eventBus);
  private final GeneralView generalView = new GeneralViewImpl();
  private final DetailsView detailsView = new DetailsViewImpl();
  private final  AddTaskView addView = new AddTaskViewImpl();
  
  @Override
  public EventBus getEventBus()
  {
    return eventBus;
  }

  @Override
  public PlaceController getPlaceController()
  {
    return placeController;
  }

  @Override
  public GeneralView getGeneralView()
  {
   return generalView;
  }

  @Override
  public DetailsView getDetailsView()
  {
    return detailsView;
  }

  @Override
  public AddTaskView getAddTaskView()
  {
    return addView ;
  }

}
